(0) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

max(L(x)) → x
max(N(L(0), L(y))) → y
max(N(L(s(x)), L(s(y)))) → s(max(N(L(x), L(y))))
max(N(L(x), N(y, z))) → max(N(L(x), L(max(N(y, z)))))

Rewrite Strategy: INNERMOST

(1) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 1.

The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1]
transitions:
L0(0) → 0
N0(0, 0) → 0
00() → 0
s0(0) → 0
max0(0) → 1
L1(0) → 4
L1(0) → 5
N1(4, 5) → 3
max1(3) → 2
s1(2) → 1
N1(0, 0) → 8
max1(8) → 7
L1(7) → 6
N1(4, 6) → 3
max1(3) → 1
s1(2) → 7
max1(3) → 7
L1(2) → 5
0 → 1
0 → 7
0 → 2
7 → 1
7 → 2
2 → 1
2 → 7

(2) BOUNDS(1, n^1)

(3) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted Cpx (relative) TRS to CDT

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(L(z0)) → z0
max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(L(z0)) → c
MAX(N(L(0), L(z0))) → c1
MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
S tuples:

MAX(L(z0)) → c
MAX(N(L(0), L(z0))) → c1
MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
K tuples:none
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c, c1, c2, c3

(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

MAX(L(z0)) → c
MAX(N(L(0), L(z0))) → c1

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(L(z0)) → z0
max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
K tuples:none
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3

(7) CdtUsableRulesProof (EQUIVALENT transformation)

The following rules are not usable and were removed:

max(L(z0)) → z0

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
K tuples:none
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3

(9) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2)) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
We considered the (Usable) Rules:none
And the Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(L(x1)) = 0   
POL(MAX(x1)) = [1] + x12   
POL(N(x1, x2)) = [1] + x2   
POL(c2(x1)) = x1   
POL(c3(x1, x2)) = x1 + x2   
POL(max(x1)) = 0   
POL(s(x1)) = 0   

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3

(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2))) by

MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))), MAX(N(L(0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c3(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))), MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(z0), N(z1, z2)))) → c3(MAX(N(L(x0), L(max(N(L(z0), L(max(N(z1, z2)))))))), MAX(N(L(z0), N(z1, z2))))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))), MAX(N(L(0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c3(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))), MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(z0), N(z1, z2)))) → c3(MAX(N(L(x0), L(max(N(L(z0), L(max(N(z1, z2)))))))), MAX(N(L(z0), N(z1, z2))))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3

(13) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c3(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))), MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(z0), N(z1, z2)))) → c3(MAX(N(L(x0), L(max(N(L(z0), L(max(N(z1, z2)))))))), MAX(N(L(z0), N(z1, z2))))
MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3, c3

(15) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(x0), N(L(z0), N(z1, z2)))) → c3(MAX(N(L(x0), L(max(N(L(z0), L(max(N(z1, z2)))))))), MAX(N(L(z0), N(z1, z2))))
MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3, c3, c

(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MAX(N(L(x0), N(L(z0), N(z1, z2)))) → c3(MAX(N(L(x0), L(max(N(L(z0), L(max(N(z1, z2)))))))), MAX(N(L(z0), N(z1, z2)))) by

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))), MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))), MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))), MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))), MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3, c, c3

(19) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
S tuples:

MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c2, c3, c, c3, c1

(21) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(s(z0)), L(s(z1)))) → c2(MAX(N(L(z0), L(z1)))) by

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(x0), L(s(max(N(L(z0), L(z1))))))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c, c3, c1, c2

(23) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(x0), L(s(max(N(L(z0), L(z1)))))))) by

MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0))))
MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c, c3, c1, c2

(25) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(x0), N(L(0), L(z0)))) → c3(MAX(N(L(x0), L(z0)))) by

MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1)))))
MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c, c3, c1, c2, c3

(27) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(x0), N(L(s(z0)), L(s(z1))))) → c(MAX(N(L(s(z0)), L(s(z1))))) by

MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0)))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c2, c, c3

(29) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x1), N(L(0), L(z0))))) by

MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c2, c, c3

(31) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x1), N(L(s(z0)), L(s(z1)))))) by

MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
S tuples:

MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1)))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c2, c, c3

(33) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(s(s(y0))), L(s(s(y1))))) → c2(MAX(N(L(s(y0)), L(s(y1))))) by

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0)))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c3, c2

(35) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(x0), N(L(s(0)), L(s(z0))))) → c(MAX(N(L(x0), L(s(z0))))) by

MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c3, c2

(37) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))) → c3(MAX(N(L(s(s(y0))), L(s(s(y1)))))) by

MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))) → c3(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))) → c3(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c2, c3

(39) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(z0), N(L(s(s(y0))), L(s(s(y1)))))) → c(MAX(N(L(s(s(y0))), L(s(s(y1)))))) by

MAX(N(L(z0), N(L(s(s(s(y0)))), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1)))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))) → c3(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c2, c3

(41) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(z0), N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) → c1(MAX(N(L(s(s(y0))), N(L(0), L(s(s(y1))))))) by

MAX(N(L(z0), N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1)))))))) → c1(MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))))

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))) → c3(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1)))))))) → c1(MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c2, c3

(43) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace MAX(N(L(z0), N(L(z1), N(L(s(0)), L(s(z3)))))) → c1(MAX(N(L(z1), N(L(s(0)), L(s(z3)))))) by

MAX(N(L(z0), N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1)))))))) → c1(MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))))

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

max(N(L(0), L(z0))) → z0
max(N(L(s(z0)), L(s(z1)))) → s(max(N(L(z0), L(z1))))
max(N(L(z0), N(z1, z2))) → max(N(L(z0), L(max(N(z1, z2)))))
Tuples:

MAX(N(L(x0), N(L(0), N(x2, x3)))) → c3(MAX(N(L(x0), L(max(N(x2, x3))))), MAX(N(L(0), N(x2, x3))))
MAX(N(L(x0), N(L(x1), N(L(z0), N(z1, z2))))) → c3(MAX(N(L(x0), L(max(N(L(x1), L(max(N(L(z0), L(max(N(z1, z2))))))))))), MAX(N(L(x1), N(L(z0), N(z1, z2)))))
MAX(N(L(x0), N(L(x1), N(L(0), L(z0))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(z0)))))))
MAX(N(L(x0), N(L(x1), N(L(s(z0)), L(s(z1)))))) → c1(MAX(N(L(x0), L(max(N(L(x1), L(s(max(N(L(z0), L(z1)))))))))))
MAX(N(L(x0), N(L(s(s(z0))), L(s(s(z1)))))) → c(MAX(N(L(x0), L(s(s(max(N(L(z0), L(z1)))))))))
MAX(N(L(z0), N(L(z1), N(L(s(s(y1))), L(s(s(y2))))))) → c1(MAX(N(L(z1), N(L(s(s(y1))), L(s(s(y2)))))))
MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))) → c3(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), L(s(s(s(y1))))))) → c(MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1)))))))) → c1(MAX(N(L(s(s(s(y0)))), N(L(0), L(s(s(s(y1))))))))
MAX(N(L(z0), N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1)))))))) → c1(MAX(N(L(s(s(s(y0)))), N(L(s(0)), L(s(s(s(y1))))))))
S tuples:

MAX(N(L(s(s(s(y0)))), L(s(s(s(y1)))))) → c2(MAX(N(L(s(s(y0))), L(s(s(y1))))))
K tuples:

MAX(N(L(z0), N(z1, z2))) → c3(MAX(N(L(z0), L(max(N(z1, z2))))), MAX(N(z1, z2)))
Defined Rule Symbols:

max

Defined Pair Symbols:

MAX

Compound Symbols:

c3, c1, c, c2, c3